package com.itsitio.dbloader.modelo.referencia;

import java.security.InvalidParameterException;
import java.util.Arrays;
import java.util.List;

public enum TipoArchivo {

	CSV(1, "CSV", "csv"), EXCEL(2, "EXCEL", "Excel"), XML(3, "XML", "xml");

	private Integer id;
	private String valor;
	private String descripcion;

	private TipoArchivo(Integer id, String valor, String descripcion) {
		this.id = id;
		this.valor = valor;
		this.descripcion = descripcion;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getValor() {
		return valor;
	}

	public void setValor(String valor) {
		this.valor = valor;
	}

	public static TipoArchivo getTipoArchivo(Integer id) {
		switch (id) {
		case 1:
			return CSV;
		case 2:
			return EXCEL;
		case 3:
			return XML;
		default:
			throw new InvalidParameterException("archivo desconocido: " + id);
		}
	}

	/**
	 * @return
	 */
	public static List<TipoArchivo> getListaTipos() {
		return Arrays.asList(values());
	}

	/**
	 * @return the descripcion
	 */
	public String getDescripcion() {
		return descripcion;
	}

	/**
	 * @param descripcion
	 *            the descripcion to set
	 */
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

}
